/*
ID:luongho3
LANG:JAVA
TASK:milk3
 */
package usaco.training.chap1.sec4;

import java.io.File;
import java.io.PrintStream;
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;

public class milk3 {

	static int A, B, C;
	static Set<Integer> set = new HashSet<Integer>();;
	static int[] num = new int[21];

	public static void main(String[] args) throws Exception {
		Scanner scanner = new Scanner(new File("milk3.in"));
		PrintStream ps = new PrintStream(new File("milk3.out"));
		System.setOut(ps);
		
		A = scanner.nextInt();
		B = scanner.nextInt();
		C = scanner.nextInt();
		
		set.add(C);
		num[C] = 1;
		
		dfs(0,0,C);
		
		for (int i=1;i<=C;++i) {
			if (num[i] == 1) {
				System.out.print(i);
				if (i < C) {
					System.out.print(" ");
				}
				else {
					System.out.println();
				}
			}
		}
	}

	private static void dfs(int a, int b, int c) {
		if (a == 0 && c != C) {
			num[c] = 1;
		}
		int delta;
		if (a > 0) {
			delta = Math.min(a, abs(B-b));
			if (!set.contains((a-delta)*10000 + (b+delta)*100 + c)) {
				set.add((a-delta)*10000 + (b+delta)*100 + c);
				dfs(a-delta,b+delta,c);
			}
			delta = Math.min(a, abs(C-c));
			if (!set.contains((a-delta)*10000 + b*100 + (c+delta))) {
				set.add((a-delta)*10000 + b*100 + (c+delta));
				dfs(a-delta,b,c+delta);
			}
		}
		
		if (b > 0) {
			delta = Math.min(b, abs(A-a));
			if (!set.contains((a+delta)*10000 + (b-delta)*100 + c)) {
				set.add((a+delta)*10000 + (b-delta)*100 + c);
				dfs(a+delta,b-delta,c);
			}
			delta = Math.min(b, abs(C-c));
			if (!set.contains(a*10000 + (b-delta)*100 + (c+delta))) {
				set.add(a*10000 + (b-delta)*100 + (c+delta));
				dfs(a,b-delta,c+delta);
			}
		}
		
		if (c > 0) {
			delta = Math.min(c, abs(A-a));
			if (!set.contains((a+delta)*10000 + b*100 + (c-delta))) {
				set.add((a+delta)*10000 + b*100 + (c-delta));
				dfs(a+delta,b,c-delta);
			}
			delta = Math.min(c, abs(B-b));
			if (!set.contains(a*10000 + (b+delta)*100 + (c-delta))) {
				set.add(a*10000 + (b+delta)*100 + (c-delta));
				dfs(a,b+delta,c-delta);
			}
		}
		
	}
	
	private static int abs(int n) {
		if (n < 0) return -n;
		return n;
	}

}
